// ============================== 导入依赖 ============================== //

/**
 * 颜色数组 (除纯色外，其他取自 Ant Design 十阶色系)
 */
const colors = [
  ['white', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'deeppink'], // 白红橙黄绿青蓝紫粉
  ['#ddd', '#ffccc7', '#ffe7ba', '#ffffb8', '#d9f7be', '#b5f5ec', '#bae7ff', '#efdbff', '#ffd6e7'], // 二级
  ['#aaa', '#ff7875', '#ffc069', '#fff566', '#95de64', '#5cdbd3', '#69c0ff', '#b37feb', '#ff85c0'], // 四级
  ['#666', '#f5222d', '#fa8c16', '#fadb14', '#52c41a', '#13c2c2', '#1890ff', '#722ed1', '#eb2f96'], // 六级
  ['#333', '#cf1322', '#d46b08', '#d4b106', '#389e0d', '#08979c', '#096dd9', '#531dab', '#c41d7f'], // 七级
  ['#000', '#820014', '#873800', '#876800', '#135200', '#00474f', '#003a8c', '#22075e', '#780650'], // 九级
]

// ============================== 导出常量 ============================== //

export default {
  /**
   * 文本配置
   */
  CONFIG: {
    /**
     * 取消自动 focus
     */
    focus: false,

    /**
     * 是否显示全屏按钮
     */
    showFullScreen: false,

    /**
     * 忽略粘贴的图片
     */
    pasteIgnoreImg: true,

    /**
     * 隐藏网络视频
     */
    showLinkVideo: false,

    /**
     * 颜色列表
     */
    colors: colors.flat(),

    /**
     * 行高列表
     */
    lineHeights: ['1', '1.1', '1.2', '1.5', '2', '3', '4', '5'],

    /**
     * 链接校验
     */
    linkCheck: (text, link) => {
      if (!text) return '请输入链接文字'
      return validateLink(link)
    },

    /**
     * 图片链接校验
     */
    linkImgCheck: (img) => validateLink(img),

    /**
     * 视频链接校验
     */
    onlineVideoCheck: (video) => validateLink(video),

    /**
     * 菜单列表
     */
    menus: [
      'undo',
      'redo',
      'head',
      'fontSize',
      'fontName',
      'bold',
      'italic',
      'underline',
      'strikeThrough',
      'foreColor',
      'backColor',
      'indent',
      'lineHeight',
      'justify',
    ],

    /**
     * 字体大小
     */
    fontSizes: {
      'x-small': { name: '12px', value: '1' },
      small: { name: '14px', value: '2' },
      normal: { name: '16px', value: '3' },
      large: { name: '18px', value: '4' },
      'x-large': { name: '24px', value: '5' },
      'xx-large': { name: '32px', value: '6' },
      'xxx-large': { name: '48px', value: '7' },
    },
  },

  /**
   * 正则
   */
  REGEXP: /^<div class="[^"]+" style="[^"]+">(.+)<\/div>$/,

  /**
   * 前缀
   */
  PREFIX: '<div class="rich-text" style="word-break: break-all">',

  /**
   * 后缀
   */
  SUFFIX: '</div>',
}

// ============================== 内部设置 ============================== //

/**
 * 链接校验
 */
const validateLink = (link) => (/^https?:\/\//.test(link) ? true : '请以 http:// 或 https:// 开头')
